10. Boot from OTP

The OTP (One-Time Programmable) Programmer tool in the SmartSnippets™ Toolbox is used for burning the OTP Memory and OTP Header. Once this is programmed, it cannot be erased. Set the right application flags to be able to boot from the OTP. Application Flag 1 and Application Flag 2 are set to “YES” as shown in Figure 39. The OTP DMA length can be set as a hexadecimal value equal to the code binary size divided by 4. To do this, open the .bin file in any hex editor which will give the length of the code. Dividing this by 4 will give the OTP DMA length value to be entered (in Hexadecimal). This field can also be left blank, however, entering this value results in a slightly quicker execution of code from the OTP. Once these values of the header are set, connect and burn the OTP header.

../_images/otp.svg

Figure 39 Toolbox OTP Programmer

Note

Application flag 1 and application flag 2 should be set to the value “Yes” as shown in Figure 39.

On the OTP Image tab, select the file to download and burn to OTP. After burning the header and the image, the device will be able to boot from OTP and bypass the ROM boot sequence as described in BootROM Sequence. The boot energy analysis in the BUCK configuration can be found in Table 5 and the power profile from power-up until the first BLE advertisement is shown in Figure 40.

../_images/otp_energy.svg

Figure 40 OTP Boot Energy Power Profile measurements for DA14531

Table 5 Boot Energy OTP

Sl.No

Events

Time (ms)

Average current (mA)

Charge (uC)

1

Power up, HW FSM until OTP CS read

0.35

1.82

0.64

2

OTP CS reading (1.24ms), XTAL settling until RF calibration

1.49

1.68

2.51

3

OTP mirroring

0.87

1.03

0.9

4

OTP mirroring to RF calibration

3.2

0.38

1.25

5

RF calibration

2.4

1.16

2.8

6

SW initialization, BLE initialization, application start

12.4

0.38

4.81

Total

20.71

0.61

12.91